package com.google.code.p.restrpc.core.async;


/**
 * @author dz
 */
public interface AsyncServiceManager extends AsyncRpcResultRetriever {
    
    /**
     * @return The size of queued async service
     */
    public int queuedSize();
    
    /**
     * @return The size of completed async service which should be remove by
     *         underlying implementor if the idle item exists over max value
     */
    public int completedSize();
    
    /**
     * @return
     */
    public AsyncServiceQueue getAsyncServiceQueue();
    
    /**
     * @return
     */
    public AsyncRpcResultCache getAsyncRpcResultCache();
    
    /**
     * 
     */
    public void shutdown();
    
}
